/**
 * 
 */
package logica.pruebas;

import java.awt.Color;
import java.util.ArrayList;

import logica.colecciones.Jugadores;
import logica.clases.Jugador;
import logica.clases.Pais;
import logica.clases.Coordenada;
import logica.datatypes.Coordenada.DataCoordenada;
import logica.datatypes.Jugador.DataJugador_R5;
import logica.datatypes.Jugador.DataJugador_R11;
import logica.datatypes.Jugador.DataJugador_R17;

/**
 * @author Verito
 *
 */
public class PruebaJugadores {

	/**
	 * @param args
	 */
	public static void main(String[] args){
		Color color= Color.WHITE;
		Jugador jugador1 = new Jugador(1,"Jose", color);
		color= Color.BLACK;
		Jugador jugador2 = new Jugador(2,"Pedro", color);
				
		Jugadores jugadores = new Jugadores(2);
		
		jugadores.insertar(jugador1);
		jugadores.insertar(jugador2);
		
		System.out.println ("La secuencia tiene: " + jugadores.cantJugadores() + " jugadores");
		System.out.println ("\n" + "Existe el jugador Jose?: " + jugadores.existeJugador("Jose"));
		System.out.println ("Existe el jugador Maria?: " + jugadores.existeJugador("Maria"));
	
		Jugador jug = jugadores.primerJugador();
		System.out.println ("\n" + "Obtengo el primer jug de la secuencia y listo su nombre: " + jug.getNombre());
		
		System.out.println ("El codigo del jugador Pedro es: " + jugadores.obtenerCodJugador("Pedro"));
		System.out.println ("\n" + "Mediante su nombre lo obtengo y listo su codigo: " + jugadores.obtenerJugador(jugadores.obtenerCodJugador("Pedro")).getNumero());
		
		System.out.println ("\nSeteo a Jose como logueado");
		jugadores.setJugadorLogueado(1, true);
		System.out.println ("Jose esta logueado?: "+ jugadores.jugadorLogueado(1));
		System.out.println ("Todos los jugadores estan logueados?: " + jugadores.jugadoresLogueados());
		
		
		System.out.println ("\n" + "Hay jugadores en turno?: " + jugadores.hayEnTurno());
		if (!jugadores.hayEnTurno()){
			System.out.println ("Como no habia jugadores en turno seteo al primero en turno");
			jugadores.setearPrimerJugadorEnTurno();
		}
		int num = jugadores.obtenerJugadorEnTurno().getNumero();

		System.out.println ("\n" + "Obtengo jugador en turno y muestro su numero: " + num);
		System.out.println ("Consulto si efectivamente dicho numero de jugador esta en turno: " + jugadores.jugadorEnTurno(num));
		System.out.println ("El jugador en turno se llama: " + jugadores.obtenerJugadorEnTurno().getNombre());
		
		System.out.println ("\nCreo 3 paise y se le inserto 2 al primer jugador");

		Coordenada coordenada = new Coordenada(3,5); 
		

		Pais pais1 = new Pais (1, "Uruguay",coordenada);
		jugadores.agregarPais(1, pais1);
		
		Pais pais2 = new Pais (2, "Argentina", coordenada);	
		coordenada.setX(8); 
		coordenada.setX(9);
		jugadores.agregarPais(1, pais2);
		
		ArrayList<Integer> codPaisesAsig = jugadores.codPaisesAsig(1);
		System.out.println ("A Jose se le asignaron " + codPaisesAsig.size() + " paises");
		
		Pais pais3 = new Pais (3, "Brasil", coordenada);
		coordenada.setX(1); 
		coordenada.setX(4);	
		
		jugadores.agregarPais(2, pais3);
		
		jugadores.cambiarTurnoAlSiguiente();

		System.out.println ("\nCambie el turno al siguiente, el nombre del nuevo jugador en turno es: " + jugadores.obtenerJugadorEnTurno().getNombre());

		jugadores.cambiarTurnoAlSiguiente();
		System.out.println ("Y Cambie otra vez: " + jugadores.obtenerJugadorEnTurno().getNombre());
		
		jugadores.quitarPais(2, 3);
		System.out.println ("Le quito el unico pais a Pedro y cambio turno otra vez");	
		jugadores.cambiarTurnoAlSiguiente();
		System.out.println ("El nombre del nuevo jugador en turno es: " + jugadores.obtenerJugadorEnTurno().getNombre());
		
		System.out.println ("\n" + "Creo Datajugadores");
		DataJugador_R5[] dataJugador_R5 = jugadores.listarNomJugadores();
		DataJugador_R11[] dataJugador_R11 = jugadores.cargaDataJugadores_R11();
		DataJugador_R17[] dataJugador_R17 = jugadores.cargaDataJugadores_R17();
	}

}
